#include <stdio.h>

void merge(int *nums1, int nums1Size, int m, int *nums2, int nums2Size, int n) {
	int l1 = m - 1;
	int l2 = n - 1;
	int l3 = nums1Size - 1;

	while (l1 >= 0 && l2 >= 0) {
		if (nums1[l1] > nums2[l2]) {
			nums1[l3] = nums1[l1];
			l3--;
			l1--;
		} else {
			nums1[l3] = nums2[l2];
			l3--;
			l2--;
		}
	}

	if (l2 >= 0) {
		for (int i = 0; i <= l2; i++) {
			nums1[i] = nums2[i];
		}
	}
}

int main() {
	int num1[6] = {1, 3, 5, 0, 0, 0};
	int num2[3] = {2, 4, 6};

	merge(num1, 6, 3, num2, 3, 3);

	for (int i = 0; i < 6; i++) {
		printf("%d ", num1[i]);
	}
	return 0;
}